# ⭐第三天
# 算法题
# 1.给定一个有序数组和一个目标值，使用二分查找算法查找该值在数组中的位置。如果没有找到，返回-1。
def search_targetvalue(num,target):
    left = 0
    right = len(num) - 1
    while left <= right:
        mid = (left + right) // 2
        if num[mid] == target:
            return mid
        elif num[mid] < target:
            left = mid + 1
        else:
            right = mid - 1
    else:
        return -1

# 2.给定一个字符串，统计每个字符出现的次数。
def count_times(str_):
    dic = {}
    for i in str_:
        if i not in dic:
            dic[i] = 1
        else:
            dic[i] += 1
    return dic

if __name__ == "__main__":
    num = [2,12,43,53,63]
    target = 12
    print('在数组中的位置:',search_targetvalue(num,target))
    # 输出结果: 1
    str_ = "sdacsdfnsk"
    print('每个字符出现的次数:',count_times(str_))
    # 输出结果: {'s': 3, 'd': 2, 'a': 1, 'c': 1, 'f': 1, 'n': 1, 'k': 1}